// 1413. 逐步求和得到正数的最小值
// 思路：贪心算法
// 要保证所有的累加和 sum 满足 sum + startValue >= 1，
// 只需保证累加和的最小值 sumMin 满足 sumMin + startValue >= 1 即可，
// 那么 startValue 的最小值即可取 -sumMin + 1

#include <vector>
using namespace std;

class Solution
{
public:
    int minStartValue(vector<int>& nums)
    {
        int sum = 0, sumMin = 0;
        for(auto e : nums)
        {
            sum += e;
            if(sum < sumMin) sumMin = sum;
        }
        return -sumMin + 1;
    }
};